public class Students {
    public String name;
    public int age = 20;
    public static String classroom;//当statis修饰成员变量时，不属于某个具体的对象，是所有对象所共享的，并放在方法区中
    {
        age = 10;
        System.out.println("构造代码块被执行了");
        //System.out.println(age);
    }
    static {
        System.out.println("静态代码块被执行了"); //只要类被加载就会执行，且只会执行一次，因为类只加载一次
    }
    public void func(){
        System.out.println("func方法被调用了");
        teststatic();//非静态方法中可以直接调用静态方法；
    }
    public static void teststatic(){
        System.out.println("teststatic方法被调用了"); //
        //func();  当调用func方法时，程序报错，因为静态方法中不能调用非静态方法
        Students stu3 = new Students();
        stu3.func();  //这种new了一个新的对象的手段可以在静态方法中调用非静态方法，因为非静态成员方法的访问需要对象的引用
    }
   /* Students stu2 = new Students();
    stu2.name = "lisi";   在类中不能直接new一个对象进而访问成员变量，方法中可以*/
   /*对象是谁，this就是谁，所以在静态方法中不能使用this*/
}
